1. Field of the Invention
The present invention relates to parallel processing, and more specifically, to a method, apparatus, and related computer program product for scheduling discrete event simulation.
2. Description of Related Art
With the development of computer hardware and software technology, it is possible to simulate people's daily work and life in more and more aspects. For example, it is possible to use discrete events for describing respective procedures in daily work and life (such as mobile communication network operation, data network operation, production line management, etc.) and further to use discrete event simulation for simulating the processing thereof.
Discrete event simulation abstracts change with time of a to-be-analyzed system to a series of events at discrete time points, process these events in temporal sequence, and thereby form an event-driven simulation world. Discrete event simulation regards the system's changes as events, so any change of the system can be implemented by processing a corresponding event.
As hardware technology like multicore processors develop, multicore CPU has become the mainstream configuration of computers, and hence multicore-based parallel processing technology draws more and more attention. However, most simulation platforms can hardly make effective use of CPU's such property as multicore in practical application. In this regard, simulating discrete events based on parallel processing technology has become a focus of research, with a view to improve the operation effectiveness of discrete event simulation and fully exploit the potential processing capability of multicore CPU.
Nevertheless, applications of existing discrete event simulation can hardly be implanted to a computer device that supports parallel processing. Current solutions highly depend on developers' and researchers' experience and require researchers to change their long-followed programming practice. This makes it difficult to fully use the parallel processing capability provided by hardware.